package com.zby.ss.autowiretype.byname.service.impl;

import com.zby.ss.autowiretype.byname.dao.GenericDao;
import com.zby.ss.autowiretype.byname.service.GenericService;

import java.util.List;
import java.util.Set;

/**
 * Created By zby on 10:21 2019/2/14
 */

public class GenericServiceImpl<T> implements GenericService<T> {

    /**
     * 这里涉及到两个点：
     * 一个是父类的概念，父类引用指向子类，也就是多态
     * 另一个接口的概念，接口定义一个模板，接口的实现指向实现类
     * 这两个在这里为了实现松散耦合
     */
    private GenericDao<T> genericDao;

    /**
     * 通过属性构造器注入
     *
     * @param genericDao
     */
    public void setGenericDao(GenericDao<T> genericDao) {
        this.genericDao = genericDao;
    }

    @Override
    public <T> List<T> list() {
        genericDao.list();
        return null;
    }

    @Override
    public T save() {
        return null;
    }
}
